Для получения имени приложения MFC отделяет имя файла от пути. Для этого используется функция AfxGetFileName. Эта функция нигде не описана. Но она есть и её можно использовать.
// Test.cpp : Defines the entry point for the application.
//
#include "stdafx.h"
#include "afxwin.h"
class CMyApp: public CWinApp
{
public:
virtual BOOL InitInstance();
};
UINT AFXAPI AfxGetFileName(LPCTSTR lpszPathName, LPTSTR lpszTitle, UINT nMax);
BOOL CMyApp::InitInstance()
{
WriteProfileString("Setion 1","Section Intem","Probe");
AfxMessageBox(m_pszProfileName);
AfxMessageBox(m_pszExeName);
char szExeName[_MAX_PATH];
VERIFY(AfxGetFileName("c:\\test\\my.exe", szExeName, _MAX_PATH) == 0);
AfxMessageBox(szExeName);
return TRUE;
}
CMyApp theApp;
Раз в INI файл можно писать, то можно из него и читать. Это делает
функция GetProfileString BOOL CMyApp::InitInstance()
{
AfxMessageBox(GetProfileString("Setion 1","Section Intem","NULL"));
return TRUE;
}
А Вот и её описание. CString GetProfileString ( LPCTSTR lpszSection, // секция LPCTSTR lpszEntry, // раздел LPCTSTR lpszDefault = NULL // значение в случае ошибки );Как видите эта функция тоже копия функции Win32 API
Какие еще есть переменные ?? Например, переменная имени Help файла.
BOOL CMyApp::InitInstance()
{
AfxMessageBox(m_pszHelpFilePath);
return TRUE;
}
так же есть строка с параметрами переданными при запуске программы. BOOL CMyApp::InitInstance()
{
AfxMessageBox(m_lpCmdLine);
return TRUE;
}
Если вы просто запустите программу, то конечно ничего не увидите в смысле параметров. Но вот можно сделать интересный трюк. Если вы поместите ярлык вашей программы в папку Windows\SendTo, то увидите, что при нажатии правой кнопки мыши в меню отправить появилась ваша программа. Отправьте туда документ и вы увидите, что Вашей программе просто передается имя этого документа.